#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;

#include "BinarySearchTree.h"

//int main()
//{
//	BSTree<int> t;
//	int a[] = { 8, 3, 1, 10, 6, 4, 7, 14, 13 };
//	for (const auto& e : a)
//	{
//		t.Insert(e);
//	}
//	//t.InOrder();
//
//	//t.Erase(8);
//	//t.InOrder();
//
//	//t.Erase(14);
//	//t.InOrder();
//
//	//t.Erase(4);
//	//t.InOrder();
//
//	//t.Erase(6);
//	//t.InOrder();
//
//	//t.Erase(13);
//	//t.InOrder();
//
//	for (auto e : a)
//	{
//		t.Erase(e);
//		t.InOrder();
//	}
//	//t.InOrder();
//
//	return 0;
//}
//int main()
//{
//	BSTree<int> t;
//	int a[] = { 8, 3, 1, 10, 6, 4, 7, 14, 13 };
//	for (const auto& e : a)
//	{
//		t.InsertR(e);
//	}
//	//t.InOrder();
//
//	//t.Erase(8);
//	//t.InOrder();
//
//	//t.Erase(14);
//	//t.InOrder();
//
//	//t.Erase(4);
//	//t.InOrder();
//
//	//t.Erase(6);
//	//t.InOrder();
//
//	//t.Erase(13);
//	//t.InOrder();
//
//	for (auto e : a)
//	{
//		t.Erase(e);
//		t.InOrder();
//	}
//	//t.InOrder();
//
//	int c = 1;
//	int& b = c;
//
//	return 0;
//}

int main()
{
	BSTree<int> t;
	int a[] = { 8, 3, 1, 10, 6, 4, 7, 14, 13 };
	for (const auto& e : a)
	{
		t.InsertR(e);
	}
	t.InOrder();

	BSTree<int> t1(t);
	t1.InOrder();


	return 0;
}